<?php

namespace Superadmin\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use Superadmin\Model\Utility;
use Superadmin\Model\Categories;

class CategoriesController extends AbstractActionController {

    protected $CategoriesTable;
    protected $getParam;

    public function getCategoriesTable() {
        if (!$this->CategoriesTable) {
            $pst = $this->getServiceLocator();
            $this->CategoriesTable = $pst->get('Superadmin\Model\CategoriesTable');
        }
        return $this->CategoriesTable;
    }

    public function __construct() {
        
    }

    public function indexAction() {
        $this->getParam = $this->getRequest();
        if ($this->getParam->isPost()) {
            $action = $this->getParam->getPost('do');
            if ($action == "showall") {
                $this->loadcate();
            } else if ($action == "del") {
                $cateId = $this->getParam->getPost('cataId');
                $checkdel = $this->getCategoriesTable()->deltecate($cateId);
                if ($checkdel) {
                    echo "Xóa chuyên mục thành công.*codebyduypc*ok";
                } else {
                    echo "Đang có đối tượng sử dụng chuyên mục này.*codebyduypc*notok";
                }
                die;
            } else if ($action == "editdata") {
                $this->loaddataedit();
            } else if ($action == "saveedit") {
                $objul = new Utility();
                $cateId = $this->getParam->getPost('cataId');
                $cateName = $this->getParam->getPost('catename');
                $catedes = $this->getParam->getPost('descate');
                $cateseo = $objul->chuyenDoi($cateName);
                $data = array();
                $data["cateId"] = $cateId;
                $data["cateName"] = $cateName;
                $data["cateseo"] = $cateseo;
                $data["cateDes"] = $catedes;
                $data["dateupdate"] = date("Y:m:d");
                $objCate = new Categories();
                $objCate->exchangeArray($data);

                $checkupdate = $this->getCategoriesTable()->updatecate($objCate);
                if ($checkupdate) {
                    echo "Cập nhật chuyên mục thành công.";
                } else {
                    echo "Cập nhật chuyên mục không thành công.";
                }
                die;
            } else if ($action = "addnew") {
                $objul = new Utility();
              
                $cateName = $this->getParam->getPost('cataname');
                $catedes = $this->getParam->getPost('descata');
                $cateseo = $objul->chuyenDoi($cateName);
                $data = array();
               
                $data["cateName"] = $cateName;
                $data["cateseo"] = $cateseo;
                $data["cateDes"] = $catedes;
                $data["datecreat"] = date("Y:m:d");
                $data["dateupdate"] = date("Y:m:d");
                $objCate = new Categories();
                $objCate->exchangeArray($data);
                $addcate = $this->getCategoriesTable()->addcate($objCate);
                if ($addcate) {
                    echo "Thêm mới chuyên mục thành công.";
                } else {
                    echo "Thêm mới chuyên mục không thành công.";
                }
                die;
            }
        }
    }

    private function loadcate() {
        $objul = new Utility();
        $key = $this->getParam->getPost('key');
        $listcate = $this->getCategoriesTable()->showcate($key);
        $view = "";
        foreach ($listcate as $key => $listdata) {
            $view .='<tr id="' . $listdata["cateId"] . '">' .
                    '<td>' . ($key + 1) . '</td>' .
                    '<td>' . $listdata["cateName"] . '</td>' .
                    '<td>' . $objul->tooltipString($listdata["cateDes"], 30) . '</td>' .
                    '<td>' . $objul->formatDate($listdata["datecreat"]) . '</td>' .
                    '<td>' . $objul->formatDate($listdata["dateupdate"]) . '</td>' .
                    '<td>' .
                    '<a href="javascript:void(0);" onclick="deletecategories(' . $listdata["cateId"] . ');" title="Delete" class="btn btn-xs btn-outline btn-danger add-tooltip"><i class="fa fa-times"></i></a>' .
                    '<a href="javascript:void(0);" onclick="dataedit(' . $listdata["cateId"] . ');" title="Edit" class="btn btn-xs btn-outline btn-success add-tooltip"><i class="fa fa-pencil-square-o"></i></a>' .
                    '</td>' .
                    '</tr>';
        }
        echo $view;
        die;
    }

    private function loaddataedit() {
        $cateId = $this->getParam->getPost('cataId');
        $data = $this->getCategoriesTable()->getdataeditcate($cateId);
        $view = "";
        $view = '<div class="form-group">' .
                '<label for="inputPassword" class="col-sm-2 control-label">Tên chuyên mục</label>' .
                '<div class="col-sm-10">' .
                '<input type="text" value="' . $data["cateName"] . '" required pattern="[a-zA-Z0-9]{3,14}" class="form-control" name="cateName" id="catenameedit" placeholder="Nhập tên chuyên mục.">' .
                '<p class="help-block" id="catenamemes" style="color: red;"></p>' .
                '</div>' .
                '</div>' .
                '<div class="form-group">' .
                '<label for="inputPassword" class="col-sm-2 control-label">Mô tả</label>' .
                '<div class="col-sm-10">' .
                '<textarea class="form-control textf" id="descateedit" name="descriptioncate" rows="3">' . $data["cateDes"] . '</textarea>' .
                '</div>' .
                '</div>' .
                '<div class="form-group" style="margin-bottom: 0;">' .
                '<div class="col-sm-offset-2 col-sm-10">' .
                '<button type="submit" name="btn" value="btn" onClick="saveedit(' . $data["cateId"] . ');" class="btn btn-success "><i class="fa fa-upload"></i> Lưu</button>' .
                '<button type="submit" name="btn" value="btn" onClick="effbtncloseedit();" class="btn btn-warning "><i class="fa fa-times"></i> Hủy bỏ</button>' .
                '</div>' .
                '</div>';

        echo $view;
        die;
    }

}
